package com.dwy2002.common.utils;

import java.util.Random;

/**
 * 自动生成昵称
 *
 * @author 杜伟毅
 * @version 1.0
 * @since 2025/01/18
 */
public class NicknameGeneratorUtils {
    /**
     * 根据电话自动生成随机的昵称
     *
     * @param phone 电话
     * @return 返回随机的昵称
     * @author 杜伟毅
     * @since 2025/1/18 0018 22:27
     */
    public static String generatorNickname(String phone) {
        // 使用电话号码的后6位作为随机种子
        long seed = Long.parseLong(phone.substring(phone.length() - 6));
        Random random = new Random(seed);

        // 定义昵称的长度
        int nicknameLength = 15;
        StringBuilder nickname = new StringBuilder();

        // 生成随机昵称
        for (int i = 0; i < nicknameLength; i++) {
            // 随机选择字母或数字
            if (random.nextBoolean()) {
                // 生成随机字母 (a-z)
                char randomChar = (char) (random.nextInt(26) + 'a');
                nickname.append(randomChar);
            } else {
                // 生成随机数字 (0-9)
                int randomDigit = random.nextInt(10);
                nickname.append(randomDigit);
            }
        }

        return nickname.toString();
    }
}
